<?php

	class DadosDocumento{
		
		private $id;
		private $documento;
		private $tipoDocDados;
		private $dadosDocDesc;
		
		public function getId(){
			
			return $this->id;
			
		}
		
		public function setId($id) {
			
			$this->id = $id;
			
		}
		
		public function getDocumento(){
			
			return $this->documento;
			
		}
		
		public function setDocumento($documento) {
			
			$this->documento = $documento;
			
		}
		
		public function getTipoDocDados(){
			
			return $this->tipoDocDados;
			
		}
		
		public function setTipoDocDados($tipoDocDados) {
			
			$this->tipoDocDados = $tipoDocDados;
			
		}
		
		public function getDadosDocDesc(){
			
			return $this->dadosDocDesc;
			
		}
		
		public function setDadosDocDesc($dadosDocDesc) {
			
			$this->dadosDocDesc = $dadosDocDesc;
			
		}
		public function inserir(){
			$db = new conexao();
			$db->abrir();
			$sql = "INSERT INTO `dados_documento` (`doc_id`, `tip_doc_dado_id`, `dados_doc_desc`) VALUES 
  					(".$this->getDocumento()->getId().",".$this->getTipoDocDados()->getId().",'".$this->getDadosDocDesc()."');";
			if($db->inserir($sql)){
				return true;
			}else{
				return false;
			}
			$db->fechar();
		}
		public function alterar(){
			$db = new conexao();
			$db->abrir();
			$sql = "update dados_documento set dados_doc_desc = '".$this->getDadosDocDesc()."' where dados_doc_id = ".$this->getId();
			if($db->inserir($sql)){
				return true;
			}else{
				return false;
			}
			$db->fechar();
		}
		
		public function getDadosForDocumento($documento,$association){
			$listaDados  = array();
			$db = new conexao();
			$db->abrir();
			$sql = "select * from dados_documento  dadoc
					inner join documento doc on dadoc.doc_id = doc.doc_id
					inner join tipo_documento_campo tdc on tdc.tip_doc_dado_id = dadoc.tip_doc_dado_id
					where dadoc.doc_id = ".$documento->getId();
			$resultSet = $db->consulta($sql);
			while($linha = $db->get_linha($resultSet)){
				$listaDados[] = $this->parseResultSetForObj($linha,new DadosDocumento(),$association);
			}
			return $listaDados;
			
		}
		public function  parseResultSetForObj($linha,$obj,$association){
			$obj = new DadosDocumento();
			$util = new Utilitario();
			$obj->setId($linha["dados_doc_id"]);
			$obj->setDadosDocDesc($linha["dados_doc_desc"]);
			$documento = new Documento();
			$documento->setId($linha["doc_id"]);
			
			$tipoDocumentoCampo = new TipoDocumentoCampo();
			$tipoDocumentoCampo->setId($linha["tip_doc_dado_id"]);
			
			
			if($association){ 
				$tipoDocumentoCampo->setTipoCampo($linha["tip_doc_tipo"]);
				$tipoDocumentoCampo->setDescHTML($linha["tip_doc_descvar"]);
				$tipoDocumentoCampo->setDescId($linha["tip_doc_descid"]);
				$documento->setDocDesc($linha["doc_desc"]);
				$documento->setCodBarra($linha["doc_cod"]);
				$documento->setDocDataCad($util->convertDataDbParaPt($linha["doc_datacad"]));
				$documento->setDocObs($linha["doc_obs"]);
			}
			$obj->setDocumento($documento);
			$obj->setTipoDocDados($tipoDocumentoCampo);
			return $obj;
			
		}
			
		
	}
	
?>
